// 一. 导入axios包
import axios from 'axios'

// 二. 创建axios的对象
const instance = axios.create({
  // baseURL: 'http://101.33.201.76:3000', //配置请求端口
  baseURL: 'http://127.0.0.1:3000',
  timeout: 3000, //超时时间，超时则请求失败，单位为毫秒
})

// 三. 配置拦截器

// 给instance实例配置响应拦截器(统一处理HTTP响应)
// 分请求拦截器和响应拦截器
// 这里使用请求拦截器
instance.interceptors.request.use(
  config => {
    if (localStorage.token) {
      // 判断是否存在token，如果存在的话，则每个http header都加上token
      config.headers.Authorization = `Bearer ${localStorage.token}`
    }
    return config
  },
  err => {
    return Promise.reject(err)
  }
)

instance.interceptors.response.use(
  // 成功的回调
  function (response) {
    // 直接返回 后端的数据
    return response.data
  },
  // 失败的回调
  function (error) {
    return Promise.reject(error)
  }
)

// 四. 导出实例对象
export default instance
